import request from '@/utils/request'

/**
 *
 * @param {*} id 分类 ID
 * @param {*} sel [only,many] 不能为空,通过 only 或 many 来获取分类静态参数还是动态参数
 * @returns
 */
export function getParamsApi (id, sel) {
  return request({
    method: 'get',
    url: `categories/${id}/attributes`,
    params: {
      sel
    }
  })
}

// 添加动态参数或者静态属性
/**
 *
 * @param {*} id 分类 ID
 * @param {*} attr_name 参数名称
 * @param {*} attr_sel [only,many]
 * @returns
 */
export function addParamsApi (id, attr_name, attr_sel) {
  return request({
    method: 'post',
    url: `categories/${id}/attributes`,
    data: {
      attr_name,
      attr_sel
    }
  })
}

/**
 *
 * @param {*} id 分类 ID
 * @param {*} attrId 参数 ID
 * @param {*} attr_sel 参数的类型[many或only]
 * @returns
 */
export function getParamsByIdApi (id, attrId, attr_sel) {
  return request({
    method: 'get',
    url: `categories/${id}/attributes/${attrId}`,
    params: {
      attr_sel
    }
  })
}

/**
 *
 * @param {*} id 分类 ID
 * @param {*} attrId 参数 ID
 * @param {*} attr_name 新参数名字
 * @param {*} attr_sel 参数的类型[many或only]
 * @returns
 */
export function editParamsApi (id, attrId, attr_name, attr_sel) {
  return request({
    method: 'put',
    url: `categories/${id}/attributes/${attrId}`,
    data: {
      attr_name,
      attr_sel
    }
  })
}

/**
 *
 * @param {*} id 分类 ID
 * @param {*} attrid 参数 ID
 * @returns
 */
export function removeParamsApi (id, attrid) {
  return request({
    method: 'delete',
    url: `categories/${id}/attributes/${attrid}`
  })
}

// 提交参数的属性
/**
 *
 * @param {*} id 分类id
 * @param {*} attrId 属性id
 * @param {*} attr_name 新属性的名字
 * @param {*} attr_sel 属性的类型 many||noly
 * @param {*} attr_vals 参数的属性值 客户端存储的是字符串 需要将数组转换为字符串
 */
export function submitTagApi (id, attrId, attr_name, attr_sel, attr_vals) {
  return request({
    method: 'put',
    url: `categories/${id}/attributes/${attrId}`,
    data: {
      attr_name,
      attr_sel,
      attr_vals
    }
  })
}
